package stream;

import java.io.IOException;
import java.math.BigInteger;
import java.util.ArrayList;
import java.util.ConcurrentModificationException;
import java.util.List;
import java.util.stream.Stream;

public class Test2 {
    public static void main(String[] args) throws IOException {
        List<String> stringList = new ArrayList<>();
        stringList.add("help");
        stringList.add("BUILD");
        stringList.add("CONGRATULATION");
        stringList.add("toe");
//        stringList.parallelStream().map(s -> s.substring(0, 1)).forEach(s -> System.out.println(s));
//        try {
//            stringList.forEach(s -> {
//                System.out.println("一层foreach");
//                stringList.forEach(s1 -> {
//                    System.out.println("二层foreach");
//                    stringList.forEach(s2 -> {
//                        System.out.println("三层foreach");
//                        stringList.stream().forEach(s4->{
//                            if(s4.equals("CONGRATULATION"))
//                                throw new CustomException();
//                            System.out.println("继续执行。");
//                            System.out.println(s4);
//                        });
//                    });
//                });
//            });
//        } catch (CustomException e) {
//            e.printStackTrace();
//        }


    }

    static class BreakException extends Exception  {
    }
}
class CustomException extends Exception {

    //无参构造方法
    public CustomException(){

        super();
    }

    //有参的构造方法
    public CustomException(String message){
        super(message);

    }

    // 用指定的详细信息和原因构造一个新的异常
    public CustomException(String message, Throwable cause){

        super(message,cause);
    }

    //用指定原因构造一个新的异常
    public CustomException(Throwable cause) {

        super(cause);
    }

}

// 备注： 这些方法怎么来的？ 重写父类Exception的方法，那么如何查看Exception具有哪些API，快捷键：选中Exception, command+单击。windows系统 ：选中Exception, control+单击。